1 using System;
2 using
System.Collections.Generic;
3 using
System.ComponentModel;
4 using
System.Data;
5 using
System.Data.OleDb;
6 using
System.Drawing;
7 using
System.IO;
8 using
System.Linq;
9 using
System.Reflection;
10 using
System.Text;
11 using
System.Threading.Tasks;
12 using
System.Windows.Forms;
13 //
using System.Excel;
14 using
System.Runtime.InteropServices;
15 using
Excel = Microsoft.Office.Interop.Excel;
16
17 namespace
SoftQuanLyNhaHang.Views
18 {
19     
public partial class frmNhapHang_NhapNhieu : Form
20     {
21         
private int _getNhapHangId;
22
23         
public frmNhapHang_NhapNhieu()
24         {
25             InitializeComponent();
26         }
27
28         
public frmNhapHang_NhapNhieu(int IdNhapHang) : this()
29         {
30             _getNhapHangId = IdNhapHang;
31         }
32         
//insert nhap nhanh
33         
int _IdNhapNhanh = 0;
34         
string _MaSanPham = string.Empty;
35         
string _MaVietTat= string.Empty;
36         
string _TenSanPham = string.Empty;
37         
string _TenDonViTinh= string.Empty;
38         
double _SoLuong = 0;
39         
double _GiaNhap = 0;
40         
double _ChietKhau =0;
41         
double _Thue = 0;
42         
double _TongTien = 0;
43         
//int _NhapHangId = 0;
44         
string _TrangThai= "SuDung";
45         DateTime _NgayTao = DateTime.Now;
46
47         
int _pageIndex = 1;
48         
int _tongSoBanGhi = 0;
49
50         
private void btnTaiFileMau_Click(object sender, EventArgs e)
51         {
52             
/*
53             
var saveFileDialog = new SaveFileDialog();
54             saveFileDialog.DefaultExt =
"xls";
55             saveFileDialog.Filter =
"Excel files (*.xls)|*.xls |All files (*.*)|*.*";
56             
if (saveFileDialog.ShowDialog() == DialogResult.OK)
57             {
58                 
const string MyFileName = "filename.xls";
59                 
string execPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
60                 
var filePath = Path.Combine(execPath, MyFileName);
61                 Microsoft.Office.Interop.Excel.Application app =
new Microsoft.Office.Interop.Excel.Application();
62                 Microsoft.Office.Interop.Excel.Workbook book = app.Workbooks.Open(filePath);
63                 book.SaveAs(saveFileDialog.FileName); //Save
64                 book.Close();
65             }
66             */

67
68             OpenFileDialog op =
new OpenFileDialog();
69             op.Filter =
"Excel 2007|*.xlsx|Excel 97 - 2003|*.xls";
70             
if (op.ShowDialog() == System.Windows.Forms.DialogResult.OK)
71             {
72                 
if (File.Exists(op.FileName))
73                 {
74                     
string[] Arr = null;
75                     Arr = op.FileName.Split(
'.');
76                     
if (Arr.Length > 0)
77                     {
78                         
if (Arr[Arr.Length - 1] == "xls")
79                             sConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
80                             op.FileName +
";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
81                     }
82                     
else if (Arr[Arr.Length - 1] == "xlsx")
83                     {
84                         sConnectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + op.FileName + ";Extended Properties='Excel 12.0 Xml;HDR=YES';";
85                     }
86                 }
87                 
88             }
89             
90         }
91
92         
public string sConnectionString;
93         
/*
94         
private void FillData()
95          {
96              
if (sConnectionString.Length > 0)
97              {
98                  OleDbConnection cn =
new OleDbConnection(sConnectionString);
99                  {
100                      cn.Open();
101                      DataTable dt =
new DataTable();
102                      OleDbDataAdapter Adpt =
new OleDbDataAdapter("select * from [sheet1$]", cn);
103                      Adpt.Fill(dt);
104                      dgvDanhSachNhapHangNhanh.DataSource = dt;
105                  }
106
107              }
108          }
109          */

110
111         
//lstCustomer
112         
//GridLines = true;
113         
//--https://www.youtube.com/watch?v=yOdvjUDSj4Y
114         
private void btnChonFileNhapHang_Click(object sender, EventArgs e)
115         {
116             
117             
int rows = 0;
118             
int cols = 0;
119
120             OpenFileDialog fopen =
new OpenFileDialog();
121             fopen.Filter =
"Excel|*.xls;*.xlsx;*.xlsm";
122
123             fopen.ShowDialog();
124
125             
int x = 0;
126
127             
if(fopen.FileName != "")
128             {
129                 
//xoa cac rows cu
130                 
//lstCustomer.Items.Clear();
131                 
//lstCustomer.Columns.Clear();
132
133                 txtPath.Text = fopen.FileName;
134                 
//tao doi tuong excel
135                 Excel.Application app =
new Excel.Application();
136                 
//mo file excel
137                 Excel.Workbook wb = app.Workbooks.Open(fopen.FileName);
138                 
try
139                 {
140                     
//Mở sheet
141                     Excel.Worksheet sheet = wb.Sheets[
1];
142                     Excel.Range range = sheet.UsedRange;
143                     
//doc du lieu
144                     rows = range.Rows.Count;
145                     cols = range.Columns.Count;
146
147                     
//doc dong tieu de de tao cot trong listview
148                     
/*
149                     
for (int c = 1; c <= cols; c++)
150                     {
151                         
string columnname = range.Cells[1, c].Value.ToString();
152                         ColumnHeader col =
new ColumnHeader();
153                         col.Text = columnname;
154                         col.Width =
120;
155                         //lstCustomer.Columns.Add(col);
156                     }
157                      */

158
159                     
//Dữ liệu
160                     
for (int i = 2; i <= rows; i++)
161                     {
162                         
//ListViewItem item = new ListViewItem();
163                         
for (int j = 1; j <= cols; j++)
164                         {
165                             
/*
166                             
if (j == 1)
167                             {
168                                 item.Text = range.Cells[i, j].Value.ToString();
169                             }
170                             
else
171                             {
172                                 item.SubItems.Add(range.Cells[i, j].Value.ToString());
173                             }
174                             */

175                             
switch (j)
176                             {
177                                 
case 1:
178                                     
if (range.Cells[i, j].Value2 != null)
179                                     {
180                                         _MaSanPham = range.Cells[i, j].Value.ToString();
181                                     }
182                                     
else
183                                     {
184                                         _MaSanPham =
"";
185                                     }
186                                                                       
187                                     
break;
188                                 
case 2:
189                                     
if (range.Cells[i, j].Value2 != null)
190                                     {
191                                         _MaVietTat = range.Cells[i, j].Value.ToString();
192                                     }
193                                     
else
194                                     {
195                                         _MaVietTat =
"";
196                                     }
197                                     
198                                     
break;
199                                 
case 3:
200                                     
if (range.Cells[i, j].Value2 != null)
201                                     {
202                                         _TenSanPham = range.Cells[i, j].Value.ToString();
203                                     }
204                                     
else
205                                     {
206                                         _TenSanPham =
"";
207                                     }
208
209                                     
break;
210                                 
case 4:
211                                     
if (range.Cells[i, j].Value2 != null)
212                                     {
213                                         _TenDonViTinh = range.Cells[i, j].Value.ToString();
214                                     }
215                                     
else
216                                     {
217                                         _TenDonViTinh =
"";
218                                     }
219
220                                     
break;
221                                 
case 5:
222                                     
if (range.Cells[i, j].Value2 != null)
223                                     {
224                                         _SoLuong = CauHinhHeThong.Format_SoDeTinhToan(range.Cells[i, j].Value.ToString(),
false);
225                                     }
226                                     
else
227                                     {
228                                         _SoLuong =
0;
229                                     }
230
231                                     
232                                     
break;
233                                 
case 6:
234                                     
if (range.Cells[i, j].Value2 != null)
235                                     {
236                                         _GiaNhap = CauHinhHeThong.Format_SoDeTinhToan(range.Cells[i, j].Value.ToString(),
true);
237                                     }
238                                     
else
239                                     {
240                                         _GiaNhap =
0;
241                                     }
242
243                                     
244                                     
break;
245                                 
case 7:
246                                     
if (range.Cells[i, j].Value2 != null)
247                                     {
248                                         _ChietKhau = CauHinhHeThong.Format_SoDeTinhToan(range.Cells[i, j].Value.ToString(),
true);
249                                     }
250                                     
else
251                                     {
252                                         _ChietKhau =
0;
253                                     }
254                                     
255                                     
break;
256                                 
case 8:
257                                     
if (range.Cells[i, j].Value2 != null)
258                                     {
259                                         _Thue = CauHinhHeThong.Format_SoDeTinhToan(range.Cells[i, j].Value.ToString(),
true);
260                                     }
261                                     
else
262                                     {
263                                         _Thue =
0;
264                                     }
265
266                                     
267                                     
break;
268                                 
default:
269                                     
//9
270                                     
double tong = 0;
271                                     tong = (_GiaNhap * _SoLuong) - (_GiaNhap * _SoLuong * _ChietKhau /
100) + (_GiaNhap * _SoLuong * _Thue / 100);
272                                     _TongTien = tong;
273                                     
break;
274                             }
275                         }
276
277                         lblSpDangThietLap.Text = _TenSanPham;
278
279                         x = Controllers.NhapNhanhCtrl.InsertNhapNhanh(_IdNhapNhanh, _MaSanPham, _MaVietTat, _TenSanPham, _TenDonViTinh, _SoLuong, _GiaNhap, _ChietKhau, _Thue, _TongTien, _getNhapHangId, _TrangThai, _NgayTao);
280                         
//lblTenSp.Text = _TenSanPham;
281
282                         
//lstCustomer.Items.Add(item);
283                        
284                     }
285
286                     
this.HienThiDanhSachSanPham_NhapNhanh_ByIdNhapHang(_getNhapHangId);
287                 }
288                 
catch(Exception ex)
289                 {
290                     MessageBox.Show(ex.Message,
"Thông báo", MessageBoxButtons.OK,MessageBoxIcon.Error);
291                 }
292             }
293
294         }
295
296
297         
//Hiển thị toàn bộ thông tin sản phẩm trong kho liên quan tới IdNhapHang
298         
private void HienThiDanhSachSanPham_NhapNhanh_ByIdNhapHang(int IdNhapHang)
299         {
300             dgvDanhSachNhapHang.Rows.Clear();
301             
//Ẩn cột đầu tiên
302             dgvDanhSachNhapHang.RowHeadersVisible =
false;
303             
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
304             
this.dgvDanhSachNhapHang.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
305             
this.dgvDanhSachNhapHang.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
306             
//this.dgvDanhSachNhapHang.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
307
308             
this.dgvDanhSachNhapHang.Columns["SoLuong"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
309             
this.dgvDanhSachNhapHang.Columns["SoLuong"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
310
311             
this.dgvDanhSachNhapHang.Columns["TenDonViTinh"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
312             
this.dgvDanhSachNhapHang.Columns["TenDonViTinh"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
313
314             
this.dgvDanhSachNhapHang.Columns["GiaNhap"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
315             
this.dgvDanhSachNhapHang.Columns["GiaNhap"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
316
317             
this.dgvDanhSachNhapHang.Columns["ChietKhau"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
318             
this.dgvDanhSachNhapHang.Columns["ChietKhau"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
319
320             
this.dgvDanhSachNhapHang.Columns["Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
321             
this.dgvDanhSachNhapHang.Columns["Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
322
323
324             
this.dgvDanhSachNhapHang.Columns["TongTien"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
325             
this.dgvDanhSachNhapHang.Columns["TongTien"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
326
327             DataTable dtNN =
new DataTable();
328             
//select từ bảng kho
329             
//dt = Controllers.KhoCtrl.FillDataSet_getKho_ByNhapHangId(-1, IdNhapHang, 1000, _pageIndex).Tables[0];
330             dtNN = Controllers.NhapNhanhCtrl.FillDataSet_NhapNhanh_Gets_ByNhapHangId(-
1, IdNhapHang).Tables[0];
331             
if (dtNN.Rows.Count > 0)
332             {
333
334                 
int _stt = 0;
335
336                 
//_tongSoBanGhi = Int32.Parse(dtNN.Rows[0]["TongSoBanGhi"].ToString());
337
338                 
double so_luong = 0;
339                 
double gia_nhap = 0;
340                 
double thue = 0;
341                 
double ckPtram = 0;
342                 
double tongmotMh = 0;
343
344                 
foreach (DataRow item in dtNN.Rows)
345                 {
346                     _stt +=
1;
347                     
int n = dgvDanhSachNhapHang.Rows.Add();
348
349                     dgvDanhSachNhapHang.Rows[n].Cells[
"IdNhapNhanh"].Value = item["IdNhapNhanh"].ToString();
350                     dgvDanhSachNhapHang.Rows[n].Cells[
"MaSanPham"].Value = item["MaSanPham"].ToString();
351                     dgvDanhSachNhapHang.Rows[n].Cells[
"MaVietTat"].Value = item["MaVietTat"].ToString();
352                     
353                     dgvDanhSachNhapHang.Rows[n].Cells[
"STT"].Value = _stt.ToString();
354                     dgvDanhSachNhapHang.Rows[n].Cells[
"TenSanPham"].Value = item["TenSanPham"].ToString();
355                     dgvDanhSachNhapHang.Rows[n].Cells[
"TenDonViTinh"].Value = item["TenDonViTinh"].ToString();
356
357                     so_luong = CauHinhHeThong.Format_SoDeTinhToan(item[
"SoLuong"].ToString(),false);
358                     gia_nhap = CauHinhHeThong.Format_SoDeTinhToan(item[
"GiaNhap"].ToString(), false);
359                     thue = CauHinhHeThong.Format_SoDeTinhToan(item[
"Thue"].ToString(), false);
360                     ckPtram = CauHinhHeThong.Format_SoDeTinhToan(item[
"ChietKhau"].ToString(), false);
361                     
362                     dgvDanhSachNhapHang.Rows[n].Cells[
"SoLuong"].Value = CauHinhHeThong.Format_SoDeHienThi(so_luong, false);
363                     dgvDanhSachNhapHang.Rows[n].Cells[
"GiaNhap"].Value = CauHinhHeThong.Format_SoDeHienThi(gia_nhap, true);
364
365                     dgvDanhSachNhapHang.Rows[n].Cells[
"ChietKhau"].Value = CauHinhHeThong.Format_SoDeHienThi(ckPtram, false);
366                     dgvDanhSachNhapHang.Rows[n].Cells[
"Thue"].Value = CauHinhHeThong.Format_SoDeHienThi(thue, false);
367
368                     tongmotMh = (gia_nhap * so_luong) - (gia_nhap * so_luong * ckPtram /
100) + (gia_nhap * so_luong * thue / 100);
369
370                     dgvDanhSachNhapHang.Rows[n].Cells[
"TongTien"].Value = CauHinhHeThong.Format_SoDeHienThi(tongmotMh, true);
371                     dgvDanhSachNhapHang.Rows[n].Cells[
"Xoa"].Value = "Xóa";
372                 }
373
374             }
375             
else
376             {
377                 _tongSoBanGhi =
0;
378             }
379
380             
381         }
382
383         
private void dgvDanhSachNhapHang_CellClick(object sender, DataGridViewCellEventArgs e)
384         {
385             
//-https://stackoverflow.com/questions/1132471/how-to-reference-column-name-instead-of-e-columnindex-in-winform-datagridview-ev
386             
if (dgvDanhSachNhapHang.Columns[e.ColumnIndex].Name == "Xoa" && e.RowIndex != -1)
387             {
388                 
//-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
389                 
if (dgvDanhSachNhapHang.CurrentCell != null && dgvDanhSachNhapHang.CurrentCell.Value != null)
390                 {
391                     _IdNhapNhanh = Int32.Parse(dgvDanhSachNhapHang.Rows[e.RowIndex].Cells[
"IdNhapNhanh"].Value.ToString());
392
393                     
//hiển thị thông báo xóa chọn yes hoặc no
394                     
//Controllers.NhapNhanhCtrl.UpdateNhapNhanh_Xoa(_IdNhapNhanh);
395                     Controllers.NhapNhanhCtrl.DeleteNhapNhanh(_IdNhapNhanh);
396
397                     
this.HienThiDanhSachSanPham_NhapNhanh_ByIdNhapHang(_getNhapHangId);
398                 }
399             }
400
401
402         }
403
404         
private void btnThucHien_Click(object sender, EventArgs e)
405         {
406             
//kho_insert_ByNhapNhanh_NhapHang....
407             
int i = 0;
408             i = Controllers.KhoCtrl.InsertKho_Select_NhapNhanh_ByNhapHangId(_MaSanPham, _getNhapHangId, _MaVietTat);
409
410             
if (i > 0)
411             {
412                 
//Controllers.NhapNhanhCtrl.UpdateNhapNhanh_Xoa(_IdNhapNhanh);
413                 Controllers.NhapNhanhCtrl.DeleteNhapNhanh_ByNhapHangId(
0, _getNhapHangId);
414                 
this.Close();
415             }
416         }
417
418         
private void frmNhapHang_NhapNhieu_Load(object sender, EventArgs e)
419         {
420             
this.HienThiDanhSachSanPham_NhapNhanh_ByIdNhapHang(_getNhapHangId);
421         }
422
423     }
424 }


Gõ tìm kiếm nhanh...